# 1.求整数1~100的和，但要求跳过所有个位为3的数。
# b=1234     b%10=4     b//10%10=3  b//100%10=2  b//1000%10
sum1=0
for a in range(101):
    if a%10==3:
        continue
    sum1+=a
print(sum1)

# 2.从键盘接收一个数  判断是否是能被3或被7整除的奇数
num=int(input("请输入一个数："))
if num%2!=0:
    if num%3==0 or num %7==0:
        print("能被3或被7整除的奇数")
    else:
        print("不能被3或被7整除的奇数")
else:
    print("不是奇数")
# 3.操场上100多人排队，三人一组多1人，四人一组多2人，五人一组多3人，共多少人？
for num in range(100,200):
    if  num %3==1 and  num%4==2 and  num%5==3:
        print(num)
        # break
# 4.从1到500所有自然数中不含数字4的自然数共有多少个？
# 4   14  44   104   144   400
count4=0
for a  in range(1,501):
    if a%10!=4 and a//10%10!=4 and a//100%10!=4:
        # print(a)
        count4+=1
print(count4)

# 5.1+2-3+4-5+6-7....+100的结果

sum5=1
for a in range(2,101):
    if a%2!=0:
        sum5 -= a
    else:
        sum5 += a
print(sum5)

# 6.编写一个程序，求出200到300之间的数，且满足条件：它们三个数字之积为42，三个数字之和为12。
for a in range(200,301):
    ge=a % 10
    shi= a // 10 % 10
    bai=a // 10//10 % 10
    if ge *shi *bai ==42  and ge +shi +bai ==12:
        print(a)

# 7.任意输入一个整数（小于10位），求这个整数有多少位  （不能使用len()方法）
num =int(input("请输入一个整数："))
count7=0
for a in str(num):
    count7+=1


# 8.有一个两位数，如果在它的前面添一个3，
# 可得到一个三位数；把3添在它的后面，
# 也可以得到一个三位数。这两个三位数相差468，求原来的两位数。
for a in range(10,100):
    # 查询一下python里面的math.abs()
   if (a+300)-(a*10+3)==468  or  (a*10+3)-(a+300)==468:
       print(a)

# 9.在控制台打印0~100之间不以5结尾的数
    a%10!=5


# 10.打印出1000以内所有的"水仙花数"，所谓"水仙花数"是指一个三位数，
# 其各位数字立方和等于该数本身。例如：153 是一个"水仙花数"，
# 因为 153=1 的三次方＋5 的三次方＋3 的三次方
for a in range(100,1000):
    ge=a % 10
    shi= a // 10 % 10
    bai=a // 10//10 % 10
    if a== ge*ge*ge+ shi**3+bai**3:
        print(a)


# 11.求18-28+38-48+......+978-988的值
sum11=0
for a in range(18,989,10):
    b = a //10
    c = b%2
    if c!=0:
        sum11+=a
    else:
        sum11 -= a
print(sum11)
# 12.在控制台打印0~100，但不包含以5结尾和以8结尾的数
# 略
# 13.输入一个正整数，将该数的各位左右反转输出，即输入123，输出321。
num =int(input("请输入一个整数："))
while num>0:
    ge = num % 10
    num //= 10
    print(ge,end="")

# 14.输出1~1000之间以8结尾且能被3整除的数有多少个
count14=0
for a in range(1,1000):
    if a%10==8 and a%3==0:
        count14+=1
print(count14)
# 15.输出对称的三位数有哪些？对称数比如：121,131,111,212...
for a in range(100, 1000):
    ge = a % 10
    bai = a // 10 // 10 % 10
    if ge==bai:
        print(a)
# 16.输出10000以内个位数不为1，十位数不为2，百位数不为3，千位数不为4的数
for a in range (10000):
    ge = a % 10
    shi = a // 10 % 10
    bai = a // 100 % 10
    qian=a//1000%10
    if ge!=1 and shi!=2 and bai!=3 and qian!=4:
        print(a)